/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Tarea1;

/*
 * Servlet encargado de manejar los datos entre la pagina web y la clase que interactúa con el Arduino
 */

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
 * Servlet implementation class LoginServlet
 */
public class loginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
 
    /**
     * @see HttpServlet#HttpServlet()
     */
    public loginServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
 
    /**
     * Método que se ejecuta al hacer "submit" en la página de login, interactua con la clase encargada de erstablecer la conexión con el Arduino
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try
        {
            ManejoUsuario manejoUsuario = new ManejoUsuario();
            manejoUsuario.iniciar();
            String usuario=request.getParameter(Constantes.PARAMETRO_DE_SESION_USUARIO);
            manejoUsuario.enviarComando(Constantes.COMANDO_LOGUEAR_USUARIO+usuario+Constantes.COMANDO_SEPARADOR+
                    request.getParameter(Constantes.PARAMETRO_DE_SESION_CONTRASEÑA));
            Thread.sleep(1000);
            String respuesta = manejoUsuario.getRespuesta();
            manejoUsuario.close();
            String[] comandoRecibido= respuesta.split(Constantes.COMANDO_SEPARADOR);
            if(comandoRecibido[0].equals(Constantes.COMANDO_RESPUESTA_ARDUINO_LOGIN) &&
                    comandoRecibido[1].equals(Constantes.RESPUESTA_ESTADO_EXITO))
            {
                if(comandoRecibido[2].equals(Constantes.RESPUESTA_ESTADO_ERROR)){
                    response.sendRedirect(Constantes.PAGINA_DE_COMPRA);
                }
                else if(comandoRecibido[2].equals(Constantes.RESPUESTA_ESTADO_EXITO)){
                    response.sendRedirect(Constantes.PAGINA_DE_ADMINISTRACION);
                }
            }else{
                response.setContentType( "text/html" );
                response.sendRedirect( "index.jsp?estadoLogin=0" );
            }
            request.getRequestDispatcher("/index.jsp").forward(request, response);
        } catch (Throwable exc)
        {
            System.out.println(exc);
        }
    } 
}
